A cloud computing system is comprised of multiple pieces of hardware interconnected over a network to perform specific computing tasks such as execution of an application. An application is a computer program designed to facilitate carrying out a specific activity. A cloud computing system facilitates scalability of the infrastructure supporting execution of an application. For example, the size and configuration of a hardware virtualization supporting the application may be increased or decreased depending on the computing requirements posed by an execution of the application.
Due to the rather complex nature of cloud computing systems, it may be difficult to (i) determine anomalies affecting an application, and (ii) ascertain solutions to the anomalies. Generally, an automated performance and testing product (e.g., HP LoadRunner, Hewlett-Packard, Palo Alto (Calif.), US) is used for executing an application in a cloud computing system and monitoring the application. An administrator may then evaluate monitored data for (i) determining whether an anomaly affects execution of the application and (ii) guess actions for addressing anomalies. In addition thereto, it has been proposed to implement automatic reaction to performance and correctness problems in a cloud computing environment. However, solving application anomalies during operation is mostly a manual operation.